<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>es6初探</title>
		<script>
			let a = "是的";  //let变量只在他在的代码块有效
			console.log(a);
			console.log(typeof a)
			const b = 10;    //const变量必须声明后马上初始化,不然将会报错
			console.log(b);
			console.log(typeof b)
			/*ES6 引入了一种新的原始数据类型Symbol，表示独一无二的值。它是 JavaScript 语言的第七种数据类型，
			前六种是：undefined、null、布尔值（Boolean）、字符串（String）、数值（Number）、对象（Object）。*/
			let c = Symbol("我是新的Symbol类型的"); //第七种数据类型,为独一无二的数据类型
			console.log(typeof c)    
		    console.log(c.toString()) 
		    
		    //ES6,set集合
		    var books = new Set();
		    books.add("js从入门到放弃");
		    books.add("ES6从入门到放弃");
		    books.add("html5+css3从入门到精通");
		    //ES6。set集合的遍历循环,book为遍历后的变量,可以随便起名
		    //set中item和index都只能访问到set集合的元素,不能访问到索引
		    //因为set集合是无序的
		    books.forEach(function(item,index,collection){
		    		console.log("item:" + item)
		    		console.log("index:" + index)
		    		console.log("collection:" + collection)
		    })
		    document.write("set集合元素个数" + books.size)//集合元素个数
		    
		    //模板字符串
		    //模板字符串内部可以使用${变量名},访问到该变量
		    var data = "哈哈"
		    var str = `
		    <ul>
		    <li>${data}</li>
		    <li>哈哈</li>
		    <li>哈哈</li>
		    </ul>`;
		    console.log(str)
		    //map集合
		    var books = new Map();
            books.set('js',{name:'js'});//向map中添加元素
            books.set('html',{name:'html'});
            console.log(books.size);//查看集合中的元素
            console.log(books.get('js'));//通过key获取值
            books.delete('js');//执照key删除元素
            console.log(books.has('js'));//判断map中有没有key
            books.forEach((value, key) => { //forEach可以迭代map
            console.log( key + ' = ' + value);
            });
            
            {
             
             document.write("aaa");
            	
            }
			
		</script>
	</head>
	<body>
	</body>
</html>
